package top.kaoshanji.p2ch18a;

import top.kaoshanji.p2ch18a.support.Task;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

/**
 * 代码清单-p2ch18a-507页a：任务执行服务的基本示例
 * 类比一下 JDBC 流程
 * @see Task
 * author kaoshanji
 * ^_^
 * create time 2025/2/27 16:21
 */
public class BasicDemo {

    public static void main(String[] args) throws InterruptedException {

        // 创建执行服务 --> 创建数据库连接
        ExecutorService executor = Executors.newSingleThreadExecutor();

        // 项执行服务 提交任务 --> 执行SQL语句
        Future<Integer> future = executor.submit(new Task());

        // 模拟执行其他任务
        Thread.sleep(100);

        try {
            // 获取结果 --> 响应结果
            System.out.println(future.get());
        } catch (ExecutionException e) {
            ///  //
        }

        // 关闭执行服务 --> 关闭数据库连接
        executor.shutdown();

    }


}
